import { Entity, PrimaryGeneratedColumn, Column, BaseEntity } from "typeorm"

/**
 * 用户表
 * 作用：存储CMS管理员、编辑者等用户信息。
 * 字段：
 * user_id（主键）：用户唯一标识。
 * username：用户名（唯一约束）。
 * email：邮箱（唯一约束）。
 * password_hash：密码加密存储。
 * role_id（外键）：关联角色表，定义权限。
 * status：账户状态（正常/禁用）。
 */
@Entity("users")
export class User extends BaseEntity{
    @PrimaryGeneratedColumn()
    user_id: number
    @Column({
        unique: true,
        type: 'varchar',
        length: 30
    })
    username: string
    @Column({
        type: 'varchar',
        unique: true,
        nullable: true
    })
    email: string
    @Column({
        type: 'varchar',
        default: ''
    })
    password_hash: string
    @Column({
        type: 'int',
        nullable: true
    })
    role_id: number
    @Column(
        {
            type: 'int',
            default: 0
        }
    )
    status: number

}
